/*
 *    Copyright (c) 2018-2025, workdata All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: workdata
 */

package com.workcell.workdata.xthings.entity;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 功率计型号
 *
 * @author 廖博文
 * @date 2022-11-28 10:16:00
 */
@Data
@TableName("t_base_powermeter")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "智能电表型号")
public class BasePowermeter extends Model<BasePowermeter> {

    private static final long serialVersionUID = 1L;

    /**
     * 功率计ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="智能电表ID")
    private String pmId;

    /**
     * 设备名称
     */
    @ApiModelProperty(value="设备名称")
    private String pmName;

    /**
     * 厂商名称
     */
    @ApiModelProperty(value="厂商名称")
    private String manufacturer;

    /**
     * 产品类型
     */
    @ApiModelProperty(value="产品类型")
    private String dcProductType;

    /**
     * 型号
     */
    @ApiModelProperty(value="型号")
    private String dcModel;

    /**
     * 通讯方式
     */
    @ApiModelProperty(value="通讯方式")
    private String dcCommunicationMode;

    /**
     * 温度
     */
    @ApiModelProperty(value="温度")
    private String dcTemperature;

    /**
     * 状态
     */
    @ApiModelProperty(value="状态")
    private String state;

    /**
     * 创建人
     */
	@TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建人")
    private String createBy;

    /**
     * 创建时间
     */
	@TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value="更新人")
    private String updateBy;

    /**
     * 更新时间
     */
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value="更新时间")
    private LocalDateTime updateTime;

    /**
     * 厂商编码（厂商ID）
     */
    @JsonAlias("deviceManufacturer")
    @ApiModelProperty("厂商编码（厂商ID）")
    private String manufacturerCode;

	@TableField(exist = false)
	@ApiModelProperty(value="厂商编码（厂商ID）")
	private String deviceManufacturer;

    /**
     * 厂商简称
     */
    @ApiModelProperty("厂商简称")
    private String manufacturerShortName;

    /**
     * 厂商全称
     */
    @ApiModelProperty("厂商全称")
    private String manufacturerFullName;

}
